namespace Crux.Core.Websockets;
/// <summary>
/// IGroupProxy
/// </summary>
public interface IGroupProxy
{
    /// <summary>
    ///
    /// </summary>
    /// <param name="connectionId"></param>
    /// <param name="groupName"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task AddToGroupAsync(
        string connectionId,
        string groupName,
        CancellationToken cancellationToken = default);
    /// <summary>
    ///
    /// </summary>
    /// <param name="connectionId"></param>
    /// <param name="groupName"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task RemoveFromGroupAsync(
        string connectionId,
        string groupName,
        CancellationToken cancellationToken = default);
}